/**
 * 资源编辑表单
 */
Ext.define('BenBen.modules.system.resource.ResourceForm', {
    extend: 'Ext.form.Panel',
    requires: [
	   'BenBen.common.component.TreePicker'
    ],
    border : false,
    bodyStyle : 'padding:5px',
    defaults : {
        margin: '5 5 5 5',
        anchor : '98%',
        labelWidth : 60,
        msgTarget :'side',
        labelAlign : 'right'
    },
    initComponent: function () {
    	var me = this;
    	var id = Ext.create('Ext.form.Hidden',{
            fieldLabel: 'ID',
            labelAlign : 'right',
            name:'id'
        });
    	
    	var parent = Ext.create('BenBen.common.component.TreePicker',{
    		fieldLabel: '上一级资源',
    		labelAlign : 'right',
    		name : 'parent',
    		value : '',
            idField : 'id',
            displayField: 'name',
            sumbitDisplayField : false,
            minPickerHeight: 200,
            store: Ext.create('Ext.data.TreeStore',{
                fields: ['id','name'],
                root: {
                    departmentName: 'root',
                    expanded: true
                },
                proxy: {
                    type: 'rest',
                    method : 'GET',
                    url: 'system/resource',
                    reader: {
                        type: 'json'
                    }
                }
            })
    	});
    	var name = Ext.create('Ext.form.TextField',{
    		fieldLabel: '资源名称',
    		labelAlign : 'right',
    		allowBlank : false,
    		name : 'name'
    	});
    	var iconCls = Ext.create('Ext.form.TextField',{
    		fieldLabel: '图标',
    		labelAlign : 'right',
    		name : 'resourceIcon'
    	});
    	var url = Ext.create('Ext.form.TextField',{
    		fieldLabel: '路径',
    		labelAlign : 'right',
    		name : 'url'
    	});
    	var state = Ext.create('Ext.form.ComboBox',{
    		name: 'state',
            fieldLabel: '状态',
            mode : 'local',
            editable : false,
            labelAlign : 'right',
            value : 1,
            triggerAction : 'all',
            displayField : 'name',
            valueField : 'number',
            store : new Ext.data.SimpleStore({
                fields : ['number','name'],
                data : [[1,'模块'],[2,'按钮'],[3,'其它']]
            })
    	});
    	var sort = Ext.create('Ext.form.NumberField',{
    		fieldLabel: '排序',
    		labelAlign : 'right',
    		allowBlank: false,
    		value : 0,
    		name : 'sort'
    	});
    	
		Ext.define('model.resource', {
            extend: 'Ext.data.Model',
            fields: [{
                name: 'id'
            },{
                name: 'name'
            },{
            	name: 'resourceIcon'
            },{
            	name: 'url'
            },{
            	name: 'parent'
            },{
            	name: 'sort'
            },{
            	name: 'state'
            }]
        });
        Ext.apply(this,{
            border : false,
            layout : 'anchor',
            items :  [id,parent,name,iconCls,url,state,sort],
            reader :  Ext.create('Ext.data.JsonReader', {
                root : 'data',
                model : 'model.resource'
            })
        });

        this.callParent(arguments);
    }
});
